﻿using System.ComponentModel.DataAnnotations;

namespace MVC系统mvc.Dto.Warehouse
{
    public class StorageAddDTO
    {
        /// <summary>
        /// 库存Id(出库/入库/转库)
        /// </summary>
        public int InventoryId { get; set; }
        /// <summary>
        /// 库存编号(出库/入库/转库)
        /// </summary>
        public string? InventoryNo { get; set; }
        /// <summary>
        /// 库存名称(出库/入库/转库)
        /// </summary>
        public string? InventoryName { get; set; }
        /// <summary>
        /// 库存日期(出库/入库/转库)
        /// </summary>
        public DateTime? InventoryDate { get; set; }
        /// <summary>
        /// 库存数量(出库/入库/转库)
        /// </summary>
        public int? InventoryNum { get; set; }
        /// <summary>
        /// 状态(默认未入库/未出库)
        /// </summary>
        public bool? InventoryState { get; set; }= false;
        /// <summary>
        /// 备注(出库/入库/转库)
        /// </summary>
        public string? InventoryRemark { get; set; }
        /// <summary>
        /// 成品编号(出库/入库/转库)
        /// </summary>
        public string? FinishedProductNo { get; set; }
        /// <summary>
        /// 成品名称(出库/入库/转库)
        /// </summary>
        public string? FinishedProductName { get; set; }
        /// <summary>
        /// 仓库Id(出库/入库/转库)
        /// </summary>
        public int? WarehouseId { get; set; }
        /// <summary>
        /// 库区Id(出库/入库/转库)
        /// </summary>
        public int? ReservoirId { get; set; }
        /// <summary>
        /// 库位Id(出库/入库/转库)
        /// </summary>
        public int? BinLocationId { get; set; }
        /// <summary>
        /// 订单编号(出库/转库)
        /// </summary>
        public string? OrderNo { get; set; }
        /// <summary>
        /// 生产日期(出库/入库/转库)
        /// </summary>
        public DateTime? ProduceDate { get; set; }
        /// <summary>
        /// 调库日期(转库)
        /// </summary>
        public DateTime? AdjustTheLibraryDate { get; set; }
        /// <summary>
        /// 规格型号(出库/入库/转库)
        /// </summary>
        public string? SpecificationNo { get; set; }
        /// <summary>
        /// 生产批次号(出库/入库/转库)
        /// </summary>
        public string? InventoryBatch { get; set; }
        /// <summary>
        /// 单位(出库/入库/转库)
        /// </summary>
        public string? InventoryUnit { get; set; }
        /// <summary>
        /// 仓库负责人(出库/入库/转库)
        /// </summary>
        public string? WarehouseHead { get; set; }
        /// <summary>
        /// 库存类型(1:出库 2:入库 3:转库)
        /// </summary>
        public int? InventoryType { get; set; } = 1;
        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreatedDate { get; set; } = DateTime.Now;

        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdatedBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdatedDate { get; set; }

        /// <summary>
        /// 删除人
        /// </summary>
        public string? DeletedBy { get; set; }

        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeletedDate { get; set; }

        /// <summary>
        /// 逻辑状态
        /// </summary>
        public bool IsDeleted { get; set; } = false;
    }
}
